#pragma once

#include "Player.h"

static const float GO_SIZE = 32.0f;

enum GameObjectType
{
	GOT_NORMAL,			
	GOT_FEMALE_VISIBLE,
	GOT_MALE_VISIBLE
};

class GameObject
{
public:
	GameObjectType type;
	GameObject();

	virtual void Draw(sf::RenderWindow& window);
	virtual void OnTouch(Player* player) {}
	virtual bool CollideWithPlayer(Player* player);
	void Step();

	sf::Vector2f pos;
	sf::Vector2f size;
	sf::Vector2f pulseScale;
private:
	static sf::Texture* glowTexture;
	sf::Sprite glowSprite;
	float timer;
};

extern std::vector<GameObject*> gGameObjects;